package info.openlvb.openlvg.client.service;

import java.util.List;

import info.openlvb.openlvg.client.base.Account;
import info.openlvb.openlvg.client.base.Group;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

@RemoteServiceRelativePath("Ldapservice")
public interface LdapService extends RemoteService{
	Account login(String login, String password);
	Group searchGroupByCn(String cn);
	void addGroup(Group group);
	List<Group> searchGroups();
	List<Account> searchMembersByCnOfGroup(String cn);
	List<String> searchUsersUid();
	Account searchAccountByUid(String uid);
	void removeUserInGroup(String cnOfGroup, String login);
	void addUserInGroup(String group, String userUid);
	void removeGroup(String group);
	void addUser(Account account);
	void modifyGroup(String oldcn, String newcn, String description);
	List<Account> searchUsers();
}
